#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2017/5/16 15:12
# @Author  : Leixu
# @Site    : 
# @File    : my_spider.py
# @Software: PyCharm Community Edition
import luobo.spider
from luobo.spider.spiders import TornadoBaseSpider
import asyncio


class BaiduSpider(TornadoBaseSpider):
    def __init__(self):
        super().__init__()
        # 每次发射两个
        self.setting.URL_NUMBERS_ONE_TIME = 2
        self.setting.ENABLE_CHECK_URL_REPEAT = False
        # 请求并发个数
        self.setting.PARALLEL_WORKER_NUMBERS = 1000

    def start_url(self):
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.baidu.com", self.process_data)
        self.url_feeder.add("http://www.fiablog.cn", self.process_data)
        self.url_feeder.add("http://www.douban.com", self.process_data_1)
        self.url_feeder.add("http://www.baidu.com", self.process_data_1)

    def process_data(self, response):
        self.url_feeder.add("http://www.baidu.com", self.process_data_1)
        print(response)

    def process_data_1(self, response):
        print(response)

    def print_state(self):
        print(self.spider_state)


def process_1():
    b = BaiduSpider()
    b.start_crawl()
    b.print_state()


if __name__ == "__main__":
    process_1()
    # from multiprocessing import Process
    #
    # # 1
    # Process(target=process_1, args=()).start()
    # Process(target=process_1, args=()).start()
    # Process(target=process_1, args=()).start()
    # Process(target=process_1, args=()).start()
